textview: Paint border windows in the right spot
authorBenjamin Otte <otte@redhat.com>
Fri, 29 Mar 2019 03:00:59 +0000 (04:00 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 29 Mar 2019 08:56:52 +0000 (09:56 +0100)
Fixes textview-border-windows reftest

gtk/gtktextview.c

index 6da0b597e9202d827a62eb6b30539660328bd2d8..0f378211e84c316c9d7dbb2f5b1962fe6f6ced95 100644 (file)
@@ -637,6 +637,8 @@ static void           text_window_size_allocate   (GtkTextWindow     *win,
                                                    GdkRectangle      *rect);
 static void           text_window_invalidate      (GtkTextWindow     *win);
 
+static gint           text_window_get_x           (GtkTextWindow     *win);
+static gint           text_window_get_y           (GtkTextWindow     *win);
 static gint           text_window_get_width       (GtkTextWindow     *win);
 static gint           text_window_get_height      (GtkTextWindow     *win);
 
@@ -5398,17 +5400,19 @@ paint_border_window (GtkTextView     *text_view,
                      GtkTextWindow   *text_window,
                      GtkStyleContext *context)
 {
-  gint w, h;
+  gint x, y, w, h;
 
   if (text_window == NULL)
     return;
 
+  x = text_window_get_x (text_window);
+  y = text_window_get_y (text_window);
   w = text_window_get_width (text_window);
   h = text_window_get_height (text_window);
 
   gtk_style_context_save_to_node (context, text_window->css_node);
 
-  gtk_snapshot_render_background (snapshot, context, 0, 0, w, h);
+  gtk_snapshot_render_background (snapshot, context, x, y, w, h);
 
   gtk_style_context_restore (context);
 }
@@ -8981,6 +8985,18 @@ text_window_invalidate (GtkTextWindow *win)
   gtk_widget_queue_draw (win->widget);
 }
 
+static gint
+text_window_get_x (GtkTextWindow *win)
+{
+  return win->allocation.x;
+}
+
+static gint
+text_window_get_y (GtkTextWindow *win)
+{
+  return win->allocation.y;
+}
+
 static gint
 text_window_get_width (GtkTextWindow *win)
 {